﻿Imports Logica
Imports System.Data.SqlClient

Partial Class RecuperarContraseña
    Inherits System.Web.UI.Page

    ''' <summary>
    ''' Vuelve a la página de identificar usuario.
    ''' </summary>
    ''' <remarks>Creado por: Elías Baldioceda, Fecha: 29/07/2010, Modificado: 29/0719</remarks>
    Protected Sub btnVolver_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnVolver.Click
        Response.Redirect("Login.aspx")
    End Sub

    ''' <summary>
    ''' Manda a recuperar la contraseña.
    ''' </summary>
    ''' <remarks>Creado por: Elías Baldioceda, Fecha: 29/07/2010, Modificado: 29/0719</remarks>
    Protected Sub btnRecuperar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnRecuperar.Click
        Dim fechaNacimiento As Date
        Dim fechaNacimientoReal As Date

        Try
            If txtNombreUsuario.Text.Trim = "" Then
                Throw New Exception("Ingrese el nombre de usuario.")
            ElseIf txtFechaNacimiento.Text.Trim = "" Then
                Throw New Exception("Ingrese la fecha de nacimiento.")
            End If

            If Gestor.usuarioExisteNombreUsuario(txtFechaNacimiento.Text) Then
                Throw New Exception("El nombre de usuario no existe.")
            End If

            fechaNacimiento = CDate(txtFechaNacimiento.Text)
            fechaNacimientoReal = Gestor.usuarioObtenerFechaNac(txtNombreUsuario.Text)

            If Not fechaNacimiento = fechaNacimientoReal Then
                Throw New Exception("La fecha ingresada no coincide con la del usuario.")
            End If

            Gestor.usuarioRecuperarContrasenna(txtNombreUsuario.Text)
            lblError.ForeColor = Drawing.Color.Green
            lblError.Text = "Se le envió un correo con la nueva contraseña."
        Catch ex As InvalidCastException
            lblError.ForeColor = Drawing.Color.Red
            lblError.Text = "El formato de la fecha ingresada es inválido."
        Catch ex As SqlException
            lblError.ForeColor = Drawing.Color.Red
            lblError.Text = "Error de conexión."
        Catch exc As Exception
            lblError.ForeColor = Drawing.Color.Red
            lblError.Text = exc.Message
        End Try
    End Sub
End Class
